package com.practice.zuocy.base.class10;

import java.util.HashMap;
import java.util.HashSet;

/*
 * 图：
 * （1）由“点(Node)”的集合和“边(Edge)”的集合构成
 * （2）虽然存在有向图和无向图的概念，但实际上都可以用有向图来表示
 * （3）边上可能带有权值
 */

/*
 * 图的面试题如何搞定：
 * 图的算法都不难，只不过coding的代价比较高
 * （1）先用自己最熟练的方式，实现图结构的表达
 * （2）在自己熟悉的结构上，实现所有常用的图的算法作为模板
 * （3）把面试提供的图结构转化为自己熟悉的图结构，再调用模板或者改写即可
 */

public class Graph {
	// 图中点的集合, HashMap<点的编号, 编号对应的节点>
	public HashMap<Integer, Node> nodes;
	// 图中边的集合
	public HashSet<Edge> edges;
	
	public Graph() {
		nodes = new HashMap<>();
		edges = new HashSet<>();
	}
}
